perm filename PLTOTF.CH[TEX,DEK]6 blob
sn#716764 filedate 1983-06-26 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 @x Tell WEAVE to print only the changes:
C00003 00003 @x Error messages deflected to the terminal:
C00005 00004 @x Specify compiler directives:
C00006 00005 @x Opening the tfm_file:
C00008 00006 @x Converting tab marks to blanks:
C00018 ENDMK
C⊗;
@x Tell WEAVE to print only the changes:
\centerline{\hsize 5in\baselineskip9pt
\vbox{\ninerm\noindent
The preparation of this report
was supported in part by the National Science
Foundation under grants IST-8201926 and MCS-7723738,
and by the System Development Foundation. `\TeX' is a
trademark of the American Mathematical Society.}}}
@y
\centerline{(This listing shows the changes for {\sc WAITS} only)}}
\let\maybe=\iffalse
@z
@x Error messages deflected to the terminal:
from |pl_file|, and the output is written on |tfm_file|; error messages and
other remarks are written on the |output| file, which the user may
choose to assign to the terminal if the system permits it.
@↑system dependencies@>
The term |print| is used instead of |write| when this program writes on
the |output| file, so that all such output can be easily deflected.
@d print(#)==write(#)
@d print_ln(#)==write_ln(#)
@y
from |pl_file|; error messages and other remarks are written on the terminal.
@↑system dependencies@>
The term |print| is used instead of |write| when this program writes on
the |output| file, so that all such output can be easily deflected.
@d print(#)==write(tty,#)
@d print_ln(#)==write_ln(tty,#)
@z
@x Specify compiler directives:
@p program PLtoTF(@!pl_file,@!tfm_file,@!output);
@y
@p @t\4@>@{$D-,W+@} {no debugging overhead}
program PLtoTF(@!pl_file,@!tfm_file);
@z
@x Opening the tfm_file:
@ On some systems you may have to do something special to write a
packed file of bytes. For example, the following code didn't work
when it was first tried at Stanford, because packed files have to be
opened with a special switch setting on the \PASCAL\ that was used.
@↑system dependencies@>
@<Set init...@>=
rewrite(tfm_file);
@y
@ On some systems you may have to do something special to write a
packed file of bytes. For example, the following code doesn't work without
the \.{/B} switch at {\mc WAITS}, although it probably should?
@↑system dependencies@>
@<Set init...@>=
rewrite(tfm_file,'','/B:8');
@z
@x Converting tab marks to blanks:
On some systems it is desirable to modify this code so that tab marks
in the buffer are replaced by blank spaces. (Simply setting
|xord[chr(@'11)]←" "| would not work; for example, two-line
error messages would not come out properly aligned.)
@y
The normal \.{PLtoTF} code has been modified here so that tab marks
in the buffer are replaced by blank spaces.
@z
@x
begin incr(limit); read(pl_file,buffer[limit]);
@y
begin incr(limit); read(pl_file,buffer[limit]);
if buffer[limit]=chr(@'11) then buffer[limit]←' ';
{tab mark is changed to space}
@z